package com.itheima.d1_collection;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;

//目标：掌握迭代器的方式遍历集合
public class Demo03 {
    public static void main(String[] args) {
        Collection<String> list = new ArrayList<>();
        list.add("脉劫");
        list.add("康帅傅");
        list.add("粤利粤");

        //需求：使用迭代器遍历Collection集合中的每一个元素，并打印输出
        //1.通过集合对象，获取迭代器对象。调用的是iterator方法
        Iterator<String> it = list.iterator();

        //2.不断调用迭代器的hasNext方法，判断迭代器指向的集合位置是否还有数据
        while (it.hasNext()) {
            //3.如果还有数据，调用迭代器的next方法，获取这个位置的数据，并且底层迭代器会指向集合的下一个位置
            String data = it.next();
            System.out.println(data);
        }

        //4.如果循环结束，意味着迭代器指向的位置没有数据了，如果还获取数据，代码报错
        it.next(); // 报错：NoSuchElementException，没有这个元素异常！
    }
}
